Cryptography is one security component for individual computing devices and network systems. The successful implementation of secure and efficient cryptographic protocols has engendered confidence in the general public that commercial computing networks and applications, such as shared computing resources and personal information applications, are safe. This confidence has driven the dramatic growth in both of these industries.
Nonetheless, no security system is infallible. Although conventional cryptographic systems may be effective at thwarting direct attacks designed, for example, to obtain cryptographic keys or unencrypted data, such systems remain vulnerable to certain indirect attacks, such as side-channel attacks. In general, a side-channel attack involves deriving an encryption key based on the observable effects of computation, which may provide information on the attached program execution. Side-channel attacks go beyond the plaintext and encrypted text used during the encryption process and instead focus on information involving timing (e.g., the time required to perform an operation), power consumption, sound, and electromagnetic characteristics.
Typically, side-channel attacks are performed on a computing device at hand, such as a Smart Card. These attacks focus on measuring parameters such as power consumption and/or electromagnetic characteristics of the computing device. In contrast, cloud-based side-channel attacks are enabled by running an attack application simultaneously with the attacked program on a cloud computing device. These attack programs rely on gathering performance event information from performance counters available in the executing CPU. From this information, a side-channel attack may determine an entire encryption key one element at a time. Existing computer and network security architectures are not adequately designed to effectively detect and respond to side-channel attacks, especially without introducing prohibitive costs and inefficiencies into the very systems they are designed to protect.